-
Notifications
You must be signed in to change notification settings - Fork 55
CVS-174008: Enable ETW Tracing for OVEP #827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ovep-develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enables ETW (Event Tracing for Windows) logging for the OpenVINO Execution Provider (OVEP) to support runtime tracing of session and provider options. The implementation adds comprehensive logging capabilities that can be consumed through Windows Performance Recorder (WPR) tools for debugging and monitoring OVEP behavior.
- Introduces a new telemetry system with ETW provider registration and structured JSON logging
- Adds configuration to Windows Performance Recording Profile for OVEP tracing
- Integrates telemetry logging into the OpenVINO execution provider lifecycle
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
ort.wprp | Adds OpenVINO EP event provider configuration to Windows Performance Recording Profile |
ov_telemetry.h | Defines telemetry interface and ETW provider declarations for OpenVINO EP |
ov_telemetry.cc | Implements ETW tracing functionality with JSON serialization for provider/session options |
openvino_execution_provider.h | Adds telemetry includes and session tracking members |
openvino_execution_provider.cc | Integrates telemetry logging into provider constructor |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
5a9c706
to
acfa7b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
bb77a96
to
8d54276
Compare
onnxruntime/core/providers/openvino/openvino_execution_provider.cc
Outdated
Show resolved
Hide resolved
Has the conversation happened to put this information in RelWithDebInfo/Debug Builds. I think Telemetry Keyword should be removed, else the feature may be flagged for AI Privacy evaluation in SDL Review , Please use Tracing/Logging is much better |
In my opinion this feature must be available for all build type, we must not restrict this functionality for any specific debug only build type. We can discuss about it in the internal forums. Telemetry name is used because QNN & MSFT also uses the same terminology which is MSFT approved. Thus I will retain the same name. Refer this PR: microsoft#19397 |
@sfatimar , We need this ability to enable debugging capabilities for the options specified by a deployed app in Release so would not want to restrict its usage. |
For ETW logging to work with our tools (GpuView), you need to implement manifest based logging. Tracelogging will not work. |
5c6bca3
to
a1dda48
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please run coverity before merge.
Description
This PR enables the ETW Traces Logging for OVEP for Windows OS. Currently, this PR enables logging all the Session & Provider Options supported by OVEP during runtime. Usage is governed by using below data inside ort_traces.wprp file -
Provider Name: Intel.ML.ONNXRuntime.OpenVINO
Provider GUID: b5a8c2e1-4d7f-4a3b-9c2e-1f8e5a6b7c9d
The ovep_traces.wprp file MUST include below config to enable ETW tracing for OVEP explicitly -
Sample Commands to get the ETW traces using onnxruntime_perf_test.exe app -
This PR fulfills below request - https://jira.devtools.intel.com/browse/CVS-174008